package com.shujia.scala

import java.io.File

import scala.io.{BufferedSource, Source}

object Demo31Iimplicit {
  def main(args: Array[String]): Unit = {


    /**
      * 隐式转换类
      *
      */

    val path = "data/students.txt"

    val stus: List[String] = path.load

    println(stus)

    //简化代码
    val scores: List[String] = "data/score.txt".load


  }


  /**
    * 隐式转换类
    * 可以将构造函数参数类型转换成当前类的类型  -- 构造函数参数类型就会多了当前类的方法
    *
    * 隐式转换类和类没那个无关，和构造函数的参数类型有关，和隐式转换的方法名有关
    *
    *
    */

  implicit class Read(path: String) {
    def load: List[String] = {
      println("读取数据的方法")
      Source.fromFile(path).getLines().toList
    }
  }


}



